#!/bin/bash

REPO_URL="https://github.com/SillyTavern/SillyTavern"
BRANCH="release"
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m'

echo -e "${GREEN}这里是404号伪梦_(:з」∠)_${NC}"
echo -e "----------------------------"
echo -e "${YELLOW}！！！使用前记得开启魔法/梯子！！！${NC}"
echo -e "----------------------------"
echo -e "开始执行系统更新和软件安装..."

# 1. 执行pkg update（自动确认）
echo -e "${GREEN}【1/7】更新软件包列表...${NC}"
yes | pkg update || { echo -e "${RED}错误：pkg update 失败${NC}"; exit 1; }

# 2. 执行pkg upgrade（自动确认）
echo -e "${GREEN}【2/7】升级已安装的软件包...${NC}"
yes | pkg upgrade || { echo -e "${RED}错误：pkg upgrade 失败${NC}"; exit 1; }

# 3. 安装git（自动确认）
echo -e "${GREEN}【3/7】安装git...${NC}"
yes | pkg install git || { echo -e "${RED}错误：git安装失败${NC}"; exit 1; }

# 4. 安装nodejs（自动确认）
echo -e "${GREEN}【4/7】安装nodejs...${NC}"
yes | pkg install nodejs || { echo -e "${RED}错误：nodejs安装失败${NC}"; exit 1; }

# 5. 克隆Git仓库
echo -e "${GREEN}【5/7】克隆SillyTavern项目...${NC}"
command -v git >/dev/null 2>&1 || { echo -e "${RED}错误：未找到git命令，请手动安装${NC}"; exit 1; }

# 获取仓库名称
REPO_NAME=$(basename "$REPO_URL" .git)

# 克隆指定分支
git clone -b "$BRANCH" "$REPO_URL" || {
    echo -e "${RED}错误：仓库克隆失败，请检查网络或URL${NC}"
    echo -e "建议手动执行：git clone -b $BRANCH $REPO_URL"
    exit 1
}

# 6. 检查启动脚本并设置权限
echo -e "${GREEN}【6/7】检查启动脚本...${NC}"
START_SH_PATH="$REPO_NAME/start.sh"

if [ ! -f "$START_SH_PATH" ]; then
    echo -e "${RED}警告：未找到启动脚本 $START_SH_PATH${NC}"
else
    # 确保脚本有执行权限
    chmod +x "$START_SH_PATH" || echo -e "${YELLOW}警告：无法设置执行权限，请手动处理${NC}"
    
    # 7. 将启动命令添加到.bashrc
    echo -e "${GREEN}【7/7】配置启动脚本...${NC}"
    
    # 检查是否已存在相同命令
    if grep -q "bash $START_SH_PATH" ~/.bashrc; then
        echo -e "${YELLOW}提示：已存在启动命令，跳过添加${NC}"
    else
        # 添加带注释的启动命令
        echo "# 自动添加：启动SillyTavern" >> ~/.bashrc
        echo "bash $(realpath "$START_SH_PATH")" >> ~/.bashrc
        echo -e "${GREEN}已将启动命令添加到 ~/.bashrc${NC}"
        echo -e "${GREEN}下次打开终端时将自动启动SillyTavern${NC}"
    fi
fi

# 所有操作完成后输出提醒
echo -e "----------------------------"
echo -e "${YELLOW}所有操作已完成₍^ >ω<^₎${NC}"
echo -e "${YELLOW}感谢使用喵~${NC}"
echo -e "----------------------------"